import wxFetch from './yali-sdk/utils/wxFetch';

/**
 * 初始化小程序读取配置属于那个（本地，benfor,GM）配置 默认读正式线上的
 */
const local = {
    domain: 'www.live.com',
    protocal: 'http',
    port: ':80',
};

const benfor = {
  domain: 'video.yalicloud.com',
  protocal: 'https',
  port: '',
};

const pro = {
    domain: 'gm.yalicloud.com',
    protocal: 'https',
    port: '',
};
const c = pro;
//const c = local;
const apiBase = `${c.protocal}://${c.domain}${c.port}`;
let config;

/**
 * set_id 读取配置项 (目前config数据库记录配置 1:本地测试，2: bd7_鸭梨宝贝 ，3：f06_鸭梨oa办公 ，4：7e79_鸭梨红人)
 * 注意--以后（测试需要变更到f06_鸭梨oa办公，正式需要变更到7e79_鸭梨红人）
 * 注意--如出现wxAppid相关报错、功能性问题，请检测当前获取配置项的wxAppid 与小程序AppID是否保持一致性
 * is_page 数据库表设置配置项中入口页 （1：正常页面，2：审核页面（文章列表））
 *
*/
const set_id = 4; //读取对应的配置 （主播端，用户端需要统一，设置该值，读取相同的配置）
const entryPage = 0;  //单独设置当前配置中默认页(用于当前审核状态，页面为审核页面时，使用该值开发)，不影响线上,不执行修改数据库 （默认0：不设置，1：正常，2：审核页）

import ActionDispatcher from './yali-sdk/utils/ActionDispatcher';
import { SUCCESS } from './yali-sdk/utils/success';
import getIn from './yali-sdk/utils/getIn';
const actionDispatcher = new ActionDispatcher({ apiBase }, wxFetch);
export default function getConfig(cb) {
    if (config) {
        cb && cb(config);
        return config;
    }
    actionDispatcher.execute({ type: '/api/live/config', url: '/api/live/config' }, { id: set_id}, (f, fs) => {
        if (f === SUCCESS) {
            config = getIn(fs, ['data']);
            if (entryPage>0){
              config.entryPage = entryPage;
            }
            cb && cb(config);
        }
    });
    return {};
}
// module.exports = config;
